#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main() {
    // 定义文件指针
    FILE *filePtr;
    
    // 字符串常量
    const char *str = "linux so easy!";
    
    // 分配足够的空间以存储从文件中读取的内容
    char buffer[50];
    
    // 以读写模式打开文件（若文件不存在则创建）
    filePtr = fopen("bite", "w+");
    if (filePtr == NULL) {
        perror("Failed to open file");
        return EXIT_FAILURE;
    }
    
    // 向文件写入字符串
    if (fwrite(str, sizeof(char), strlen(str), filePtr) != strlen(str)) {
        perror("Failed to write to file");
        fclose(filePtr);
        return EXIT_FAILURE;
    }
    
    // 将文件指针重新定位到文件开头，以便读取
    if (fseek(filePtr, 0, SEEK_SET) != 0) {
        perror("Failed to seek in file");
        fclose(filePtr);
        return EXIT_FAILURE;
    }
    
    // 从文件读取内容至缓冲区
    if (fread(buffer, sizeof(char), sizeof(buffer) - 1, filePtr) <= 0) {
        perror("Failed to read from file");
        fclose(filePtr);
        return EXIT_FAILURE;
    }
    
    // 确保缓冲区以空字符结尾（虽然fwrite已写入完整字符串，但fread可能读取更多）
    buffer[sizeof(buffer) - 1] = '\0';
    
    // 打印读取到的内容至标准输出
    printf("Contents of file: %s\n", buffer);
    
    // 关闭文件指针
    fclose(filePtr);
    
    return EXIT_SUCCESS;
}